Control of a brushless motor

ABSTRACT

A method of controlling a brushless motor that includes sensing a temperature and using the sensed temperature to define a current limit. A lower current limit is then defined for a lower sensed temperature. A winding of the motor is sequentially energized and de-energized, with the winding being de-energized when current in the winding exceeds the defined current limit.

REFERENCE TO RELATED APPLICATIONS

This application claims the priority of United Kingdom Application No. 1211755.2, filed Jul. 3, 2012, the entire contents of which are incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates to control of a brushless motor.

BACKGROUND OF THE INVENTION

It may be necessary to start a brushless motor at temperatures well below that of the normal running temperature. However, attempting to drive the motor at relatively low temperatures may damage components of the motor.

Schemes for preheating a motor are known but generally suffer from one or more disadvantages. For example, the motor may include a heating device that heats the motor to a predetermined temperature prior to starting. However, the provision of a heating device increases the cost of the motor.

SUMMARY OF THE INVENTION

The present invention provides a method of controlling a brushless motor, the method comprising sensing a temperature, using the sensed temperature to define a current limit, wherein a lower current limit is defined for a lower sensed temperature, and sequentially energizing and de-energizing a winding of the motor, the winding being de-energized in response to current in the winding exceeding the current limit.

By sequentially energizing and de-energizing a phase winding, power losses (e.g. copper losses, iron losses and switch losses) act to heat the motor. By employing a lower current limit at lower temperatures, the power losses are smaller and thus thermal shock, which might otherwise damage components of the motor, may be avoided. Additionally or alternatively, by employing a lower current limit at lower temperatures, the input power driven into the motor is reduced and thus, for a given load, the speed of the motor may be reduced. As a result, damage to components of the motor, which might otherwise occur if the motor were driven at high speed, may be avoided.

As the temperature of the motor increases, the current limit may be increased. In particular, the current limit may be increased after a period of time has elapsed or in response to an increase in the sensed temperature. By increasing the current limit, a relatively quick rate of heating may be achieved without subjecting the motor to thermal shock. Additionally or alternatively, the input power and thus the speed of the motor may be gradually increased as the motor heats up.

The method may comprise using the sensed temperature to define the period of time at which the current limit is increased. In particular, a longer period of time may be defined for a lower temperature. As a result, the motor may be heated for a longer period at lower temperatures before raising the current limit. This may then further mitigate thermal shock.

The method may comprise increasing the current limit (e.g. periodically by a fixed amount or in response to an increase in the sensed temperature) until a predetermined threshold has been reached for the current limit. The predetermined threshold may represent a safe operating limit for the phase current. Accordingly, the current limit may be increased gradually as the motor heats up until such time as a safe operating limit is reached.

The method may comprise energizing the phase winding in the same direction until the predetermined threshold for the current limit has been reached. By energizing the phase winding in the same direction, the rotor of the motor is locked at an aligned position. Heating of the motor may therefore be achieved whilst maintaining the rotor at a fixed position. As a result, damage to components of the motor, which might otherwise occur if the rotor were to rotate, may be avoided.

The motor may be unidirectional and the method may comprise energizing the phase winding in a direction that drives the motor backwards. The rotor of a brushless motor typically parks at a position for which the rotor poles are misaligned slightly relative to the stator poles. For a unidirectional motor, the rotor typically parks at a position for which the rotor poles are slightly forward of the stator poles. By energizing the phase winding in a direction that drives the motor backwards, the rotor moves through a relatively small angle before coming to rest at the aligned position. Consequently, movement of the rotor during heating may be minimised.

The method may comprise sequentially energizing and de-energizing the winding over one or more drive periods, and increasing the current limit at the end of each drive period. The sensed temperature may then be used to define the current limit for the first drive period. The drive periods may be regarded collectively as a preheat period during which the primary goal is to heat the motor rather than drive the motor at high speed. By increasing the current limit at the end of each drive period, a relatively high rate of heating may be achieved whilst avoiding thermal shock.

The sensed temperature may be used to define the length of each drive period and/or the total number of drive periods. In particular, the method may comprise defining a longer drive period and/or a larger number of drive periods for a lower sensed temperature. By defining the length of each drive period and/or the total number of drive periods as a function of temperature, the total period over which the motor is preheated may be better controlled. In particular, for a lower sensed temperature, the motor is preheated for a longer period of time.

The method may comprise energizing the phase winding in the same direction throughout each drive period. As a result, the rotor of the motor is locked at an aligned position. Heating of the motor may therefore be achieved whilst maintaining the rotor at a fixed position. As a result, damage to components of the motor, which might otherwise occur if the rotor were to rotate, may be avoided. Again, the motor may be unidirectional and the phase winding may be energized in a direction that drives the motor backwards. Consequently, movement of the rotor from a parked position to the aligned position may be minimised.

Current may be made to flow through at least one switch when energizing the phase winding and current may be made to flow through at least one further switch when de-energizing the phase winding. Owing to the electrical resistance associated with the switches, each switch dissipates heat when conducting current. By ensuring that current flows through at least one switch during energization and through at least one further switch during de-energization, at least two different heat sources are created during each drive period. Consequently, a faster rate of heating may be achieved. Current may be made to flow through a first pair of switches when energizing the phase winding and current may be made to flow through a second, different pair of switches when de-energizing the winding. As a result, four heat sources are created during each drive period. Consequently, heating of the motor is both better balanced and quicker.

The present invention also provides a control system for a brushless motor, the control system performing a method as described in any one of the preceding paragraphs.

The present invention further provides a motor system comprising a brushless motor and a control system as described in the preceding paragraph.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the present invention may be more readily understood, embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings, in which:

FIG. 1 is a block diagram of a motor system in accordance with the present invention;

FIG. 2 is a schematic diagram of the motor system;

FIG. 3 details the allowed states of the inverter in response to control signals issued by the controller of the motor system;

FIG. 4 illustrates a schematic diagram of the current limiter of the motor system;

FIG. 5 is a flow diagram of a start-up routine implemented by the motor system;

FIG. 6 is a flow diagram of a drive-forward routine implemented by the motor system; and

FIG. 7 is a flow diagram of a preheat routine implemented by the motor system.

DETAILED DESCRIPTION OF THE INVENTION

The motor system 1 of FIGS. 1 and 2 is powered by a DC power supply 2 and comprises a brushless motor 3 and a control system 4.

The motor 3 comprises a four-pole permanent-magnet rotor 5 that rotates relative to a four-pole stator 6. Conductive wires are wound about the stator 6 and are coupled together (e.g. in series or parallel) to form a single phase winding 7.

The control system 4 comprises a DC link filter 8, an inverter 9, a gate driver module 10, a current sensor 11, a Hall-effect sensor 12, a temperature sensor 13, and a controller 14.

The DC link filter 8 comprises a capacitor C1 that smoothes the relatively high-frequency ripple that arises from switching of the inverter 9.

The inverter 9 comprises a full bridge of four power switches Q1-Q4 that couple the DC link voltage to the phase winding 7. Each of the switches Q1-Q4 includes a freewheel diode.

The gate driver module 10 drives the opening and closing of the switches Q1-Q4 in response to control signals received from the controller 14.

The current sensor 11 comprises a pair of sense resistors R1,R2, each resistor located on a lower leg of the inverter 9. The voltage across each resistor R1,R2 is output to the controller 14 as a current sense signal, I_SENSE_1 and I_SENSE_2. The first current sense signal, I_SENSE_1, provides a measure of the current in the phase winding 7 when driven from right to left (as is described below in more detail). The second current sense signal, I_SENSE_2, provides a measure of the current in the phase winding 7 when driven from left to right.

The Hall-effect sensor 12 is located in a slot opening of the stator 6 and outputs a digital signal, HALL, that is logically high or low depending on the direction of magnetic flux through the sensor 12. The HALL signal therefore provides a measure of the angular position of the rotor 5.

The temperature sensor 13 comprises a thermistor TH1 located within the motor system 1. The voltage across the thermistor TH1 is output to the controller 14 as a temperature signal, TEMP.

The controller 14 comprises a microcontroller having a processor 15, a memory device 16 and a plurality of peripherals 17 (e.g. comparators, timers etc.). A suitable candidate is the PIC16F690 microcontroller by Microchip Technology Inc. The memory device 16 stores instructions for execution by the processor 15, as well as control parameters and lookup tables that are employed by the processor 15 during operation of the motor system 1. The controller 14 is responsible for controlling the operation of the motor system 1 and generates three control signals: DIR1, DIR2, and FW #. The control signals are output to the gate driver module 10, which in response drives the opening and closing of the switches Q1-Q4 of the inverter 9.

DIR1 and DIR2 control the direction of current through the inverter 9 and thus through the phase winding 7. When DIR1 is pulled logically high and DIR2 is pulled logically low, the gate driver module 10 closes switches Q1 and Q4, and opens switches Q2 and Q3, thus causing current to be driven through the phase winding 7 from left to right. Conversely, when DIR2 is pulled logically high and DIR1 is pulled logically low, the gate driver module 10 closes switches Q2 and Q3, and opens switches Q1 and Q4, thus causing current to be driven through the phase winding 7 from right to left. Current in the phase winding 7 is therefore commutated by reversing DIR1 and DIR2. If both DIR1 and DIR2 are pulled logically low, the gate drive module 10 opens all switches Q1-Q4.

FW # is used to disconnect the phase winding 7 from the DC link voltage and allow current in the phase winding 7 to freewheel around the low-side loop of the inverter 9. Accordingly, in response to a FW # signal that is pulled logically low, the gate driver module 10 causes both high-side switches Q1,Q3 to open. Each power switch Q1-Q4 conducts in a single direction only. Consequently, current freewheels through one of the low-side switches Q2,Q4 and through a freewheel diode of the other low-side switch Q2,Q4. Certain types of power switch (e.g. MOSFETs) are capable of conducting in both directions. Accordingly, rather than freewheeling through a freewheel diode, both low-side switches Q2,Q4 may be closed such that current freewheels through both low-side switches Q2,Q4, i.e. in addition to opening both high-side switches Q1,Q3, both low-side switches Q2,Q4 are closed in response to a logically low FW # signal.

FIG. 3 summarises the allowed states of the switches Q1-Q4 in response to the control signals of the controller 14. Hereafter, the terms ‘set’ and ‘clear’ will be used to indicate that a signal has been pulled logically high and low respectively.

The controller 14 includes a number of peripherals 17 that are configured as a current limiter 20. The current limiter 20 monitors the level of current in the phase winding 7 and toggles a current-limit signal in the event that current in the phase winding 7 exceeds a current limit.

As illustrated in FIG. 4, the current limiter 20 comprises a PWM module 21, a smoothing filter 22, a multiplexer 23 and a comparator 24. The PWM module 21, the multiplexer 23 and the comparator 24 form part of the peripherals 17 of the controller 14. The smoothing filter 22, on the other hand, is located external to the controller 14.

The PWM module 21 generates a pulsed voltage signal, which is output by the controller 14. The smoothing filter 22 smoothes the pulsed voltage signal to generate a reference signal having a regular voltage, which is then input to the controller 14. The PWM module 21 employs a constant period and a variable duty cycle that is set by the processor 15. Accordingly, the voltage of the reference signal depends on the duty cycle set by the processor 15.

The multiplexer 23 has two inputs for selecting one of the two current-sense signals, I_SENSE_1 and I_SENSE_2. The selection made by the multiplexer 23 is controlled by the processor 15 in response to the direction of current through the phase winding 7. Consequently, when DIR1 is set, the multiplexer 23 selects I_SENSE_1, and when DIR2 is set, the multiplexer 23 selects I_SENSE_2. The output of the multiplexer 23 is delivered to the comparator 24.

The comparator 24 compares the voltage of the current-sense signal, I_SENSE_1 or I_SENSE_2, with the voltage of the reference signal. When the voltage of the current-sense signal exceeds that of the reference signal, the comparator 24 outputs a current-limit signal that is pulled logically low. Otherwise, the comparator 24 outputs a current-limit signal that is pulled logically high.

The current limiter 20 therefore toggles the current-limit signal when the voltage of the current-sense signal exceeds that of the reference signal. Since the voltage of the current-sense signal is directly proportional to the current in the phase winding 7, the current limiter 20 toggles the current-limit signal when current in the phase winding 7 exceeds a current limit. The current limit is then defined by the duty cycle of the PWM module 21, which is set by the processor 15 of the controller 14.

The memory device 16 of the controller 14 stores a current-limit lookup table, which comprises different current limits (i.e. different duty cycles) for different temperatures. As explained below, the controller 14 uses this table during start-up to select a current limit according to the temperature within the motor system 1.

During normal running, the motor system 1 operates within a nominal temperature range. However, the motor system 1 may be required to start at temperatures well below that of the nominal temperature range. At relatively low temperatures, the motor system 1 may behave erratically if an attempt is made to start the motor 3 using conventional methods. Furthermore, components of the motor system 1 (e.g. bearings) may be damaged if the motor 3 is driven at low temperatures. The motor system 1 therefore employs a start-up routine that is intended to address these problems.

The start-up routine employed by the controller 14 is illustrated in FIG. 5. The controller 14 begins by first sensing the TEMP signal (step S30), which provides a measure of the temperature within the motor system 1. The motor system 1 operates over a temperature range defined between a lower threshold, T_MIN, and an upper threshold, T_MAX. Accordingly, if the temperature within the motor system 1 is less than T_MIN or greater than T_MAX (step S31), the controller 14 makes no attempt to start the motor 3. If the temperature is greater than T_MIN but less than a preheat threshold, T_PH (step S32), the controller 14 executes a preheat routine (step S33). Otherwise, the controller 14 executes a drive-forward routine (step S34).

The drive-forward routine is illustrated in FIG. 6. The controller 14 begins by first setting the current limit to an upper threshold (step S35), i.e. the controller 14 sets the duty-cycle of the PWM module 21 of the current limiter 20 such that the current-limit signal is toggled when current in the phase winding 7 exceeds the upper threshold. The controller 14 then senses the HALL signal in order to determine the position at which the rotor 5 has parked (step S36). Using this information, the controller 14 energizes the phase winding 7 in a direction that drives the rotor 5 forward (step 37). For the purposes of the present description, it will be assumed that the rotor 5 is driven forwards in response to energizing the phase winding 7 from left-to-right when the HALL signal is logically low, and from right-to-left when the HALL signal is logically high. The rotor 5 is then driven backwards in response to energizing the phase winding 7 from right-to-left when the HALL signal is logically low and from left-to-right when the HALL signal is logically high.

The air gap between the rotor 5 and the stator 6 is asymmetric. As a result, the rotor 5 parks at a position for which the rotor poles are misaligned slightly (e.g. by 5 mechanical degrees) relative to the stator poles. This then ensures that, when the phase winding 7 is energized in a direction that is intended to drive the rotor 5 forwards, the rotor 5 rotates in the correct direction.

The controller 14 drives the rotor forwards (step S37) for a predetermined period of time. During this period, which will hereafter be referred to as the drive-forward period, an edge should occur in the HALL signal if the rotor 5 is rotating forwards as expected (step S38). In response to the HALL edge, the controller 14 commutates the phase winding 7 by reversing DIR1 and DIR2 (step S39). On commutating the phase winding 7, the controller 14 ends the start-up routine and executes a routine to accelerate the rotor 5 in a conventional manner. If no HALL edge is detected during the drive-forward period, the controller 14 assumes that a fault has occurred and turns the motor off by clearing both DIR1 and DIR2 (step S40).

When driving the rotor 5 forwards (step S37), the magnitude of current through the phase winding 7 rises during energization. When the phase current exceeds the current limit, the current limiter 20 toggles the current-limit signal. In response to the change in the current-limit signal, the controller 14 freewheels the phase winding 7 by clearing FW #. The controller 14 freewheels the phase winding 7 for a freewheel period, during which time current in the phase winding 7 decays to a level below the current limit. At the end of the freewheel period, the controller 14 again energizes the phase winding 7. The controller 14 therefore sequentially energizes and freewheels the phase winding 7 during the drive-forward period. At the point of commutation (i.e. when the HALL edge is detected during the drive-forward period), the phase winding 7 may be freewheeling. Accordingly, in addition to reversing DIR1 and DIR2, the controller 14 sets FW # so as to ensure that the inverter 9 is returned to a drive condition.

The preheat routine is illustrated in FIG. 7. The controller 14 begins by indexing the current-limit lookup table using the temperature obtained from the TEMP signal to select a current limit (step S41). The controller 14 then senses the HALL signal in order to determine the position at which the rotor 5 has parked (step S42). The controller 14 then energizes the phase winding 7 in a direction that drives the rotor 5 backwards (step S43).

As noted above, the rotor 5 parks at a position for which the rotor poles are misaligned slightly relative to the stator poles. Consequently, in response to driving the rotor 5 backwards (step S43), the rotor 5 rotates backwards through a small angle (e.g. 5 mechanical degrees) before stopping at the fully aligned position.

The controller 14 drives the rotor 5 backwards (step S43) for a predetermined period of time, which will hereafter be referred to as the drive-backward period. During this period, the rotor 5 is locked at the fully aligned position. In response to energizing the phase winding 7, current in the phase winding 7 rises. When the phase current exceeds the current limit, the current limiter 20 toggles the current-limit signal. In response to the change in the current-limit signal, the controller 14 de-energizes the phase winding 7. De-energization may involve freewheeling the phase winding 7. However, for reasons that are explained below, de-energization instead involves opening all switches Q1-Q4 of the inverter 9 by clearing DIR1 and DIR2. The controller 14 de-energizes the phase winding 7 for a de-energization period, during which time current in the phase winding 7 decays to a level below the current limit. At the end of the de-energization period, the controller 14 again energizes the phase winding 7. Consequently, the controller 14 sequentially energizes and de-energizes the phase winding 7 during the drive-backward period.

At the end of the drive-backward period, the controller 14 increases the current limit by a fixed amount (step S44). The controller 14 then compares the current limit against the upper threshold (step S45), i.e. the value used by the controller 14 when executing the drive-forward routine. If the current limit corresponds to the upper threshold, the controller 14 stops driving the rotor 5 by clearing DIR and DIR2 (step S46). Owing to the asymmetry in the air gap, the rotor 5 then rotates forward through the small angle (e.g. 5 mechanical degrees) and comes to rest at the original parked position. The controller 14 then ends the preheat routine and executes the drive-forward routine (step S34). If the current limit is less than the upper threshold, the controller 14 repeats the step of driving the rotor backwards for the drive-backward period (step S43). The rotor 5 therefore continues to be locked at the aligned position. This time, however, the current limit is greater. At the end of the drive-backward period, the controller 14 again increases the current limit (step S44) and compares this against the upper threshold (step S45). The controller 14 therefore increases periodically the current limit until the upper threshold is reached, at which point the controller 14 ends the preheat routine and executes the drive-forward routine (step S34).

By sequentially energizing and de-energizing the phase winding 7, power losses associated with the phase winding 7 (copper loss), the stator 6 (iron loss) and the power switches Q1-Q4 (conduction and switching losses) act to heat the motor system 1. Throughout each drive-backward period, the rotor 5 is locked at the aligned position. Consequently, with the exception of the initial movement to the aligned position, the rotor 5 does not rotate during heating of the motor system 1. As a result, potential damage to components of the motor 3 (e.g. the bearings), which might otherwise occur if the rotor 5 were to rotate, may be avoided.

The controller 14 drives the rotor 5 backwards for one or more drive-backward periods. The number of drive-backward periods depends on the initial temperature within the motor system 1. In particular, a larger number of drive-backward periods are employed for a lower temperature. This then ensures that the phase winding 7 is energized and de-energized for a total period of time sufficient to raise the temperature of the motor system 1 to a level at which the motor 3 may be safely started.

At the start of the preheat routine, the controller 14 selects a current limit that depends on the initial temperature within the motor system 1. More specifically, a lower current limit is selected for a lower temperature. By selecting a current limit that depends on the initial temperature within the motor system 1, thermal shock to the motor system 1 may be avoided. For example, by employing a lower current limit at lower temperatures, the power losses that arise during energization and de-energization are smaller. Consequently, the temperatures of the various heat sources (e.g. the phase winding 7, the stator 6 and the power switches Q1-Q4) are lower and thus the temperature gradients within the motor system 1 are smaller. As a result, thermal shock may be avoided.

During execution of the preheat routine, the controller 14 increases periodically the current limit until an upper threshold is reached. By increasing the current limit, the power losses associated with energization and de-energization are increased. As a result, the temperatures of the various heat sources are increased and thus a faster rate of heating may be achieved. The current limit is increased periodically by an amount that ensures that the increase in the temperatures of the various heat sources does not greatly exceed the increase in the temperature of the motor system 1. As a result, thermal shock continues to be avoided.

Owing to the electrical resistance of the power switches Q1-Q4, each power switch Q1-Q4 dissipates heat when conducting current. During energization of the phase winding 7, a first pair of power switches (e.g. Q1 and Q4) is closed. Current then flows through each of these two switches, which in turn dissipate heat, e.g. via a heat sink secured to each switch. When the magnitude of current in the phase winding 7 exceeds the current limit, the controller 14 de-energizes the phase winding 7. As noted above, de-energization may comprise freewheeling the phase winding 7. However, as will now be explained, there are advantages in opening all switches Q1-Q4 of the inverter 9 during de-energization. If the controller 14 were to freewheel the phase winding 7, the controller 14 would open the high-side switch (e.g. Q1). Current would then flow around the low-side loop of the inverter 9, i.e. current would flow down through the already closed low-side switch (e.g. Q4) and up through the diode of the other low-side switch (e.g. Q2). Consequently, a further power switch (e.g. Q2) conducts current during de-energization. This then has the benefit of creating a further heat source. However, if all power switches Q1-Q4 of the inverter 9 are opened during de-energization, current in the phase winding 7 is forced up through the diodes of the other pair of power switches (e.g. Q2 and Q3). Consequently, a further two power switches conduct current during de-energization, thereby creating two additional heat sources. Heating of the motor system 1 is therefore better balanced. In particular, a first pair of heat sources (e.g. power switches Q1 and Q4) are created during energization and a second, different pair of heat sources (e.g. power switches Q2 and Q3) are created during de-energization. In addition to more balanced heating, the motor system 1 may be heated more rapidly without necessarily increasing the risk of thermal shock or potentially damaging the power switches.

In the embodiment described above, the controller 14 increases the current limit by a fixed amount at the end of each drive-backward period (step S44). The controller 14 then ends the preheat routine when an upper threshold has been reached for the current limit (step S45). Alternatively, rather than increasing the current limit by a fixed amount, the controller 14 might sense the TEMP signal at the end of each drive-backward period, and then use the sensed temperature to select a new current limit from the current-limit lookup table. The controller 14 might then end the preheat routine when the current limit corresponds to the upper threshold or when the temperature within the motor system 1 exceeds a threshold. With this alternative scheme, the current limit is adjusted in direct response to changes in the temperature within the motor system 1. Accordingly, if the temperature within the motor system 1 is rising at a faster or slower rate than expected, the controller 14 is able to compensate by selecting an appropriate current limit. A possible difficulty with this scheme, however, is that the temperature sensed by the temperature sensor 13 may not accurately reflect the temperature of the components of the motor system 1 once heating begins. For example, the power switches Q1-Q4 may be located in close proximity to the temperature sensor 13. The heat dissipated by the power switches Q1-Q4 is therefore likely to be felt first by the temperature sensor 13. Other components of the motor system 1, on the other hand, may be located further from the power switches Q1-Q4. As a result, the temperature sensor 13 may register significant changes in temperature when other components of the motor system 1 have experienced little or no temperature change. The original scheme overcomes this potential problem by gradually increasing the current limit over time, irrespective of the temperature inside the motor system 1.

In the embodiment described above, the length of each drive-backward period is the same. Consequently, the period between each increment in the current limit is the same. This then has the advantage of simplifying the instructions executed by the controller 14. However, it may be desirable to heat for longer periods at lower temperatures. This may, for example, further mitigate thermal shock. One way in which this might be achieved would be to employ a lookup table that comprises different current limits and different drive-backward periods for different temperatures. The controller 14 may then use the TEMP signal, at the start of the preheat routine and at the end of each drive-backward period, to index the current-limit lookup table to select a current limit and a drive-backward period.

During each drive-backward period, the controller 14 sequentially energizes and de-energizes the phase winding 7. The resulting power losses then act to heat the motor system 1. Components of the motor system 1 having a good thermal path to the various heat sources (e.g. stator 6, phase winding 7 and power switches Q1-Q4) will warm relatively quickly. In contrast, components having a poor thermal path will warm relatively slowly. Consequently, at the end of the preheat routine, it is possible that some of the components may not have reached a safe operating temperature. Alternatively, those components having a good thermal path must be held at a higher temperature for a longer period in order that the components having a poor thermal path reach a safe operating temperature. In the embodiment described above, each drive-backward period is followed immediately by either a further drive-backward period (as part of the preheat routine) or a drive-forward period (as part of the drive-forward routine). In an alternative embodiment, each drive-backward period may be followed by a dwell period, during which time the controller 14 stops driving the rotor 5 by clearing DIR and DIR2. As a result, the heat generated during each drive-backward period has a longer period of time to propagate throughout the motor system 1 and thus warm those components having a poor thermal path. At the end of the dwell period, the controller 14 proceeds in the same manner as described above, i.e. the controller 14 increases the current limit (S44) and compares the current limit against the upper threshold (S45). The controller 14 may employ a fixed dwell period at the end of each drive-backward period. Alternatively, the controller 14 may employ a dwell period that depends on the temperature within the motor system 1. For example, the controller 14 may employ a longer dwell period at lower temperatures.

When executing the preheat routine, the controller 14 energizes the phase winding 7 in a direction that drives the rotor backwards (step S43). This then has the benefit that the rotor 5 rotates through a relatively small angle (e.g. 5 mechanical degrees) before coming to rest at the fully aligned position. Conceivably, the controller 14 might alternatively energize the phase winding 7 in a direction that drives the rotor 5 forwards. The rotor 5 would then rotate through a larger angle (e.g. 85 mechanical degrees) before coming to rest at the fully aligned position. Nevertheless, movement of the rotor 5 continues to be relatively small. In particular, the rotor 5 is prevented from making a full revolution. Accordingly, potential damage to components of the motor system 1, which might otherwise occur if the rotor 5 were free to rotate at speed, may be avoided.

In each of the embodiments described above, the preheat routine comprises energizing and de-energizing the phase winding 7 for a period of time sufficient to lock the rotor 5 at an aligned position. This then prevents damage to components of the motor system 1 that might otherwise occur if the rotor 5 were to rotate. However, depending on the design of the motor system 1, as well as the temperatures under which the motor system 1 is required to start, it may not be necessary to lock the rotor 5 at the aligned position. Instead, the motor 3 may be started and driven forwards in a conventional manner. Nevertheless, damage to components may still occur if the motor 3 is driven at relatively high speeds at lower temperatures. Accordingly, one may wish to drive the motor 3 at slower speeds at lower temperatures. Additionally or alternatively, thermal shock may still be a concern. Accordingly, the controller 14 may continue to employ a current limit that depends on the temperature within the motor system 1. In particular, a lower current limit may be used for a lower temperature. By employing a lower current limit, the input power driven into the motor 3 is reduced and thus, for a given load, the speed of the motor 3 is similarly reduced. As a result, damage to components of the motor system 1, which might otherwise occur if the motor 3 is driven at high speed, may be avoided. Additionally, by employing a lower current limit, power losses are reduced and thus the temperatures of the various heat sources are reduced. Consequently, thermal shock may be avoided. As the temperature of the motor system 1 increases, the controller 14 may increase the current limit, e.g. periodically by a fixed amount or in response to changes in the temperature of the motor system 1.

Reference has thus far been made to preheating a single-phase, permanent-magnet brushless motor 3. However, the preheat routine described above may equally be used to preheat other types of brushless motor, including but not limited to multi-phase motors and switched reluctance motors. 

The invention claimed is:
 1. A method of controlling a brushless motor, the method comprising: sensing a temperature; using the sensed temperature to define a current limit, wherein a lower current limit is defined for a lower sensed temperature; sequentially energizing and de-energizing a winding of the motor, the winding being de-energized in response to current in the winding exceeding the current limit; and increasing the current limit after a predefined period of time has elapsed, wherein the predefined period of time begins when the winding of the motor is energized.
 2. The method of claim 1, wherein the method comprises increasing the current limit until a predetermined threshold has been reached for the current limit.
 3. The method of claim 2, wherein the method comprises energizing the phase winding in the same direction until the predetermined threshold for the current limit has been reached.
 4. The method of claim 3, wherein the motor is unidirectional and the method comprises energizing the phase winding in a direction that drives the motor backwards.
 5. The method of claim 1, wherein the method comprises sequentially energizing and de-energizing the winding over one or more drive periods, and increasing the current limit at the end of each drive period.
 6. The method of claim 5, wherein the method comprises using the sensed temperature to define the length of each drive period or the number of drive periods.
 7. The method of claim 6, wherein the method comprises defining a longer drive period or a larger number of drive periods for a lower sensed temperature.
 8. The method of claim 5, wherein the method comprises energizing the phase winding in the same direction throughout each drive period.
 9. The method of claim 8, wherein the motor is unidirectional and the method comprises energizing the phase winding in a direction that drives the motor backwards.
 10. The method of claim 1, wherein current is made to flow through at least one switch when energizing the phase winding and current is made to flow through at least one further switch when de-energizing the phase winding.
 11. The method of claim 10, wherein current is made to flow through a first pair of switches when energizing the phase winding and current is made to flow through a second, different pair of switches when de-energizing the phase winding.
 12. A control system for a brushless motor, the control system performing a method as claimed in claim
 1. 13. The method of claim 1, wherein the sensed temperature is used to define the period of time at which the current limit is increased.
 14. The method of claim 1, wherein a longer period of time is defined for a lower sensed temperature.
 15. A method of controlling a brushless motor, the method comprising: sensing a temperature; using the sensed temperature to define a current limit, wherein a lower current limit is defined for a lower sensed temperature; and sequentially energizing and de-energizing a winding of the motor over one or more drive periods, the winding being de-energized in response to current in the winding exceeding the current limit, and increasing the current limit at the end of each drive period, wherein the drive period begins when the winding of the motor is energized, and wherein current is made to flow through the winding and at least one switch of the motor when energizing the winding, and current is made to flow through the winding at least one further switch of the motor when de-energizing the winding.
 16. The method of claim 15, wherein current is made to flow through a first pair of switches of the motor when energizing the phase winding and current is made to flow through a second, different pair of switches of the motor when de-energizing the phase winding.
 17. The method of claim 15, wherein the method comprises using the sensed temperature to define the length of each drive period or the number of drive periods.
 18. The method of claim 17, wherein the method comprises defining a longer drive period or a larger number of drive periods for a lower sensed temperature.
 19. The method of claim 15, wherein the method comprises energizing the phase winding in the same direction throughout each drive period.
 20. The method of claim 19, wherein the motor is unidirectional and the method comprises energizing the phase winding in a direction that drives the motor backwards.
 21. A control system for a brushless motor, the control system performing a method as claimed in claim
 20. 22. A method of controlling a brushless motor, the method comprising: sensing a temperature; using the sensed temperature to define a current limit, wherein a lower current limit is defined for a lower sensed temperature; sequentially energizing and de-energizing a winding of the motor, the winding being de-energized in response to current in the winding exceeding the current limit; and increasing the current limit at periodic time intervals in response to increases in the sensed temperature until a predetermined threshold has been reached for the current limit, wherein the time interval begins when the winding of the motor is energized. 